package br.com.esporte.repositorio.DAO;

import java.io.Serializable;
import java.util.List;

import org.hibernate.Session;

import br.com.esporte.negocios.entidades.Entidade;
import br.com.esporte.repositorio.filtro.IFiltro;

public interface IGenericDAO<ENTIDADE extends Entidade, ID extends Serializable, FILTRO extends IFiltro<ENTIDADE>> {

	public ENTIDADE buscar(ID id);

	public void editar(ENTIDADE obj);

	public List<ENTIDADE> filtrar(FILTRO filtro);

	public void flush();

	public Session getSession();

	public void inserir(ENTIDADE obj);

	public List<ENTIDADE> listar();

	public void remover(ENTIDADE obj);

}
